#pragma once
#include<iostream>
#include<opencv2/opencv.hpp>
#include"ArmorPatten.hpp"
// #include"Armor.hpp"
#include"Lightbar.hpp"
// #include<Draw_Contours.hpp>
#include"KalmanCalculate.hpp"
#include"KalmanTracker.hpp"
// #include<fmt/core.h>
#include"SerialPort.hpp"

using namespace std;
using namespace cv;

// 敌对颜色
#define ENEMYCOLOR ArmorPatten::Color::red

// 全局变量声明
extern SerialPort serial; 
extern SerialPort::Config config; // 串口

// 全局容器
static list<KalmanTracker>frameArmors; //真装甲板容器（也就是屏幕上出现过的装甲板）
static vector<Armor>armors; // 装甲板容器


namespace process {
    extern bool isNullFlag ; 
    Mat get_armor(Mat& image);
    void select(const list<Lightbar> &lightbars,Mat &bgr_image);

};